Augmented i/o for limited form factor user-interfaces

ABSTRACT

The claimed subject matter relates to an architecture that can enhance and/or simplify tactile-based I/O transactions in connection with a user-interface (UI) of limited form factor. In particular, the architecture can monitor a position of a selector object such as an operator&#39;s finger relative to a UI display as the selector object hovers or moves above the UI display. Based upon this position, an analogous coordinate in the UI display can be determined, and a portion of the UI display substantially centered at the coordinate can be modified. As one example, the UI display can be modified to increase the magnification scale (e.g., a virtual magnifying glass) of the portion of the display indicated by the selector object.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of, and claims priority for allpurposes to, U.S. patent application Ser. No. 12/249,064 filed on Oct.10, 2008 entitled, “AUGMENTED I/O FOR LIMITED FORM FACTORUSER-INTERFACES.” This application is related to co-pending U.S. patentapplication Ser. No. 12/256,818 filed on Oct. 23, 2008 entitled,“TRACKING APPROACHING OR HOVERING OBJECTS FOR USER-INTERFACES.” Theentireties of these applications are incorporated herein by reference.

TECHNICAL FIELD

The present application relates generally to enhancing featuresassociated with a user-interface (UI) of limited form factor, and morespecifically to coupling UI updates to a position of a selector objecthovering or tracking over the UI.

BACKGROUND

The consumer and commercial markets for mobile devices (or other devicesof limited size or form factor) such as cellular phones, digital mediaplayers, Personal Digital Assistants (PDAs) and similar devices israpidly growing and has been gaining momentum for some time. Advances inchip technology, ergonomics, user interface (UI) technology, softwareapplications, and the like often spur additional growth potential formany of these devices. Accordingly, many mobile devices are becomingmore powerful, capable of delivering increasing functionality, while atthe same time becoming less expensive, more compact, and more convenientto operate and carry.

As a result, mobile device or other devices of limited form factor havethe potential to deliver a great deal of computational power. However,such devices also often underscore some of the fundamental challengesassociated with the various limitations of these devices, such as smallscreen size, limited keyboard, short battery life, complex operationand/or high prices due to the need to embed UI components in such asmall form factor. These and other limitations can substantially hinderthe utility and proliferation of some mobile devices.

In accordance therewith, the consumer and commercial markets for thesemobile devices are faced with difficulties in which current trends inthe area do not appear adequate to solve. In particular, users of mostmobile devices desire simpler, smaller, less expensive hardware, but onthe other hand users also desire mobile devices that can provide aricher set of functionality, yet remain simple to use. Miniaturizationof electronic devices has reached the point where significant computingpower can be delivered in devices smaller than a matchbook. Hence,miniaturization is no longer the primary technological bottleneck formeeting the demands of consumers. Rather, the challenges areincreasingly leaning toward the user interface of such devices. Forexample, technology exists for building a full-featured cellular phone(or other device) that is no larger than a given user's thumb, yetpacking a display, keyboard, and other UI features in such a small areais all but impossible. Even devices that that have opted to foregokeyboards in favor of touch-screen I/O present numerous challenges forthe implementation of a successful UI.

SUMMARY

The following presents a simplified summary of the claimed subjectmatter in order to provide a basic understanding of some aspects of theclaimed subject matter. This summary is not an extensive overview of theclaimed subject matter. It is intended to neither identify key orcritical elements of the claimed subject matter nor delineate the scopeof the claimed subject matter. Its sole purpose is to present someconcepts of the claimed subject matter in a simplified form as a preludeto the more detailed description that is presented later.

The subject matter disclosed and claimed herein, in one aspect thereof,comprises an architecture that can simplify or enhance tactile-relatedinput/output (I/O) in connection with a user-interface (UI) of limitedform factor. In accordance therewith and to other related ends, thearchitecture can monitor a position of a selector object relative to aUI display as the selector object hovers above and/or tracks across theUI display. Typically, the selector object will be a device operator'sfinger, a stylus, or another suitable object. Based upon the position ofthe selector object, the architecture can update an output of the UIdisplay.

In particular, the architecture can update a portion of the UI displaythat is local to (and moves or tracks with) the selector objector. Forinstance, the position can be mapped to a coordinate for the UI display,with the portion to be updated substantially centered at the coordinate.The update can relate to a change in the magnification scale for theportion of the UI display that is updated, in effect providing a virtualmagnifying glass. Thus, certain elements in the UI display (e.g.,determined by the position of the selector object) can be easier torecognize and/or select, yet the “big picture” can still be apparent.Given that the virtual magnifying glass can require that the selectedportion of the UI display be redrawn at a larger scale, the virtualmagnifying glass can be implemented to occlude neighboring elements ofthe UI display. Additionally or alternatively, these neighboringelements can be presented in a semi-transparent manner, or crowdedtogether to fit in the remaining areas of the UI display. Moreover, thearchitecture can facilitate other updates beyond magnification, such ashighlighting or other appropriate changes to RGB features of portions ofthe UI display.

The monitoring of the selector object and/or the updating of the UIdisplay can be intelligently activated and deactivated in order toconserve power and maximize or tailor effective use. For example, one orboth of the monitoring or the updating can be activated when a keyboardapplication is instantiated, and then deactivated when the keyboardapplication is closed. In some cases, the monitoring can be active,while the updating is inactive to allow gestures associated with theselector object to represent input, such as a gesture command toactivate the virtual magnifying glass or another update.

The following description and the annexed drawings set forth in detailcertain illustrative aspects of the claimed subject matter. Theseaspects are indicative, however, of but a few of the various ways inwhich the principles of the claimed subject matter may be employed andthe claimed subject matter is intended to include all such aspects andtheir equivalents. Other advantages and distinguishing features of theclaimed subject matter will become apparent from the following detaileddescription of the claimed subject matter when considered in conjunctionwith the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system that can enhance or simplifytactile-related input/output (I/O) in connection with a user-interface(UI) of limited form factor.

FIG. 2 depicts a block diagram illustration that exemplifies variousfeatures associated with preparing to update a display based a positionof a selector object.

FIG. 3 provides a block diagram illustration that exemplifies a virtualmagnifying glass that occludes neighboring elements.

FIG. 4 depicts a block diagram illustration that exemplifies a virtualmagnifying glass that facilitates crowding rather than occlusion.

FIG. 5 is a block diagram of a system that can selectively trigger themonitoring or the updating.

FIG. 6 illustrates a block diagram of a system that can provide apseudo-touch screen

FIG. 7 is an exemplary flow chart of procedures that define a method forenhancing or simplifying tactile-related I/O for a UI with a limitedform factor.

FIG. 8 is an exemplary flow chart of procedures that define a method forimplementing a virtual magnifying glass.

FIG. 9 depicts an exemplary flow chart of procedures defining a methodfor providing additional features associated with enhancing orsimplifying I/O for a limited form factor UI.

FIG. 10 illustrates a block diagram of a computer operable to executethe disclosed architecture.

FIG. 11 illustrates a schematic block diagram of an exemplary computingenvironment.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, well-knownstructures and devices are shown in block diagram form in order tofacilitate describing the claimed subject matter.

As used in this application, the terms “component,” “module,” “system”,or the like can refer to a computer-related entity, either hardware, acombination of hardware and software, software, or software inexecution. For example, a component may be, but is not limited to being,a process running on a processor, a processor, an object, an executable,a thread of execution, a program, and/or a computer. By way ofillustration, both an application running on a controller and thecontroller can be a component. One or more components may reside withina process and/or thread of execution and a component may be localized onone computer and/or distributed between two or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. For example, computerreadable media can include but are not limited to magnetic storagedevices (e.g., hard disk, floppy disk, magnetic strips . . . ), opticaldisks (e.g., compact disk (CD), digital versatile disk (DVD) . . . ),smart cards, and flash memory devices (e.g., card, stick, key drive . .. ). Additionally it should be appreciated that a carrier wave can beemployed to carry computer-readable electronic data such as those usedin transmitting and receiving electronic mail or in accessing a networksuch as the Internet or a local area network (LAN). Of course, thoseskilled in the art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as preferred oradvantageous over other aspects or designs. Rather, use of the wordexemplary is intended to present concepts in a concrete fashion. As usedin this application, the term “or” is intended to mean an inclusive “or”rather than an exclusive “or”. That is, unless specified otherwise, orclear from context, “X employs A or B” is intended to mean any of thenatural inclusive permutations. That is, if X employs A; X employs B; orX employs both A and B, then “X employs A or B” is satisfied under anyof the foregoing instances. In addition, the articles “a” and “an” asused in this application and the appended claims should generally beconstrued to mean “one or more” unless specified otherwise or clear fromcontext to be directed to a singular form.

As used herein, the terms to “infer” or “inference” refer generally tothe process of reasoning about or inferring states of the system,environment, and/or user from a set of observations as captured viaevents and/or data. Inference can be employed to identify a specificcontext or action, or can generate a probability distribution overstates, for example. The inference can be probabilistic—that is, thecomputation of a probability distribution over states of interest basedon a consideration of data and events. Inference can also refer totechniques employed for composing higher-level events from a set ofevents and/or data. Such inference results in the construction of newevents or actions from a set of observed events and/or stored eventdata, whether or not the events are correlated in close temporalproximity, and whether the events and data come from one or severalevent and data sources.

Referring now to the drawing, with reference initially to FIG. 1, system100 that can enhance or simplify tactile-related input/output (I/O) inconnection with a user-interface (UI) of limited form factor isdepicted. In particular, tactile-related I/O can include, e.g., inputsprovided by means of touch or gestures. Generally, system 100 caninclude tracking component 102 that can monitor position 104 of selectorobject 106 relative to UI display 108. Position 104 is typically asalient point or feature of selector object 106, or the nearest portionof selector object 106 to UI display 108.

As depicted, selector object 106 can be a finger or thumb of an operatoror user of a device (not shown) associated with UI display 108. Inaddition, selector object 106 can also be a stylus or another physicalobject suitable for tactile-based I/O. Appreciably, selector object 106can include a transmitter or other signaling hardware or special purposematerial to aid in position tracking, however, such need not necessarilybe the case. Rather, tracking component 102 can rely upon one or morecamera that can detect objects proximal to UI display 108. For example,UI display 108, in addition to displaying content can also include oneor an array of cameras. In other cases, tracking component 102 canmonitor position 104 based upon techniques described herein andincorporated by reference.

Regardless of the type or range of sensors employed to determineposition 104, position 104 can include x-y values for a coordinate planethat is substantially parallel to a surface of UI display 108. Inaddition, position 104 can also include a distance between selectorobject 106 and UI display 108, which is here represented by a length ofdashed line 110. Line 110 can be substantially perpendicular to thesurface of UI display 108, intersecting UI display 108 at coordinate112, which can be additionally or alternatively described as the pointor pixel over which selector object 106 is hovering as determined by asuitable sensing means. Appreciably, as selector object 106 moves,tracking component 102 can update position 104 commensurately, andtherefore, if necessary, also update coordinate 112. It should beunderstood that Cartesian coordinates are employed for the sake of readyunderstanding; however, it should be appreciated that polar coordinatesor another coordinate system can be employed to map and/or trackposition 104 or coordinate 112.

Additionally, system 100 can further include augmentation component 114that can update (e.g., update 116) an output of UI display 108 basedupon position 104 of selector object 106. More particularly,augmentation component 114 can update the output of UI display 108 at,or for an area centered at, coordinate 112. In an aspect of the claimedsubject matter, update 116 can relate to changing a display ormagnification scale of a portion (e.g., a portion centered at coordinate112) of UI display 108. These and other features will become moreapparent with reference FIGS. 2-4, which can be examined along side FIG.1 for additional context and understanding.

Furthermore system 100 can also include or be operatively connected todata store 118. Data store 118 is intended to be a repository of all orportions of data, data sets, or information described herein orotherwise suitable for use with the claimed subject matter. Data store118 can be centralized, either remotely or locally cached, ordistributed, potentially across multiple devices and/or schemas.Furthermore, data store 118 can be embodied as substantially any type ofmemory, including but not limited to volatile or non-volatile,sequential access, structured access, or random access and so on. Itshould be understood that all or portions of data store 118 can beincluded in system 100, or can reside in part or entirely remotely fromsystem 100.

Turning now to FIG. 2, illustration 200 that exemplifies variousfeatures associated with preparing to update a display based a positionof a selector object is provided. Example device 202 can besubstantially any device that includes UI display 108, an example ofwhich is also illustrated here. Typically, device 202 is a mobile devicecontemplated to include a limited UI form factor such as a cellular orsmart phone (or other device), media player, or Personal DigitalAssistant (PDA). UI display 108 can be a “touch screen,” e.g., atouch-sensitive display that accepts an input based upon contact betweenUI display 108 and selector object 106.

Implementing a touch screen can help mitigate the conflict betweenminiaturization and providing rich feature sets/easily navigable UIs.For example, rather than attaching a physical keypad/keyboard, the touchscreen can provide virtual keys, thus removing the need to devotenon-screen real estate to buttons or keys. However, when many elementsare simultaneously displayed within UI 108 such as keys of a keyboard,photos in a photo album, folders or files in a directory, or other iconsor graphical elements, certain difficulties can arise. One such exampleis the well-known “fat finger” difficulty, wherein due to the limitedsize of UI display 108 and a given number of elements displayed (e.g.,the entire keyboard), each element can be smaller than an operator'sfinger, commonly resulting in multiple selection events when only one isintended or a selection of the incorrect element (e.g., pressing thewrong key). Unfortunately, changing the scale of each element or keyimplies that only a portion of the whole (e.g., only half of thekeyboard) will be displayed at any given time, which can lead to otherdifficulties or inefficiencies and can further be less intuitive.

In order to mitigate these and other difficulties, augmentationcomponent 114 can selectively update a certain portion of UI display 108without necessarily affecting other portions of UI display 108 orchanging the total number of elements displayed. In accordancetherewith, example UI display 108 of illustration 200 includes numerouselements depicted as squares or blocks. As indicated supra, each ofthese blocks can represent a distinct key of a keyboard, a photo in anelectronic album, a folder or file in a directory, an icon or the like.

Coordinate 112, representing, e.g., the point or pixel over whichselector object 106 is hovering is also depicted in illustration 200.Thus, augmentation component 114 that can update an output of UI display108 based upon position 104 of selector object 106, can also mapposition 104 to coordinate 112. The update can take to form ofmagnification or increasing the magnification scale of UI display 108,but usually only within a certain area of effect. Accordingly, themagnification scale of certain portions of UI display 108 can beincreased to simplify input or selection of an element, yet withoutcompromising the operator's orientation or view of the whole (e.g., allthe other elements, their respective relationships or relativelocations).

In other words, augmentation component 114 can provide a virtualmagnifying glass that increases a magnification scale of a portion of UIdisplay 108 such that the portion is displayed at a different scalewithin an area of effect of the virtual magnifying glass. In this case,the portion of UI display 108 that can be magnified is represented bycircle 204, whereas circle 206 represents the area of effect of thevirtual magnifying glass. Thus, visual data included in portion 204,after magnification, will occupy the larger area 206, and hence becapable of display at a greater magnification scale. Hence, becausecircle 206 has a radius that is approximately twice as large as circle204, graphical elements included in portion 204 can be updated to appeartwice a large as would otherwise occur.

Appreciably, portion 204 and area 206 need not necessarily be circles,but can be other suitable shapes as well, but are illustrated here ascircles merely to simplify explanation. Likewise, a 2-1 ratio betweenarea 206 and portion 204 is selected to provide a convenient example;however, one can readily appreciate that other ratios can be employed.In fact, the sizes (as well as shapes) of portion 204 and area 206 canbe determined independently from one another, yet, the size ratiobetween the two will typically represent the level of magnification(e.g., the change in magnification scale).

For example, portion 204 can be defined by operator preferences ordefaults, yet can be intelligently adjusted to comport with the sizes ofthe elements of UI display 108 (e.g., the illustrated blocks).Accordingly, the magnified portions can be comparable to the size ofelements of interest to an operator. Based upon such adjustments area206 can, but need not, be adjusted as well. Similarly, area 206 can alsobe defined by operator preferences or defaults, but can be adjusted,potentially independently of the size of portion 204, by, e.g.,modifying the hover distance (e.g., distance 110) of selector object106. For instance, decreasing the hover distance of an operator's fingerover the surface of UI display 108 can increase the size of area 206,while increasing the hover distance can decrease the size of area 206.For instance, when selector object 106 hovers at the limits ofdetectable range, then the magnification scale can be set to 2 timesnormal or even no magnification. However, as selector object 106 crossestiered thresholds relating to hover distance 110 (e.g., the z-axis ofthe coordinate plane), then the magnification scale can be increased bydiscrete amounts, such as 4×, 8×, and so on until the maximummagnification scale, say 16× is reached at actual contact (or within afew millimeters of actual contact) with UI display 108. It should beappreciated that the magnification scale need not necessarily bemultiples of 2, and further need not be integers. Hence, magnificationcan be 2.5× or similar.

Moreover, it should also be understood that while coordinate 112 issubstantially based upon position 104 of selector object 106, coordinate112 can be further based upon or biased toward a central location of anelement included in UI display 108. Hence, while position 104 of theoperator's finger might actually be mapped to a coordinate that is nearthe outer edge of the indicated element, or perhaps even beyond theedges of the element, coordinate 112 can be intelligently biased towardthe center of the element since it can be inferred in many cases thatthe operator is not interested in selecting a portion of the screen thatis not occupied by a selectable element or in magnifying portions of thebackground exiting between elements.

For the sake of thoroughness, it should be noted that providing avirtual magnifying glass is not necessarily limited to instances inwhich there are many discreet elements presented by UI display 108.Rather, for example, UI display 108 can present a single element such asmap or high-resolution photograph such that this single element occupiessubstantially all of UI display 108. In this case, as selector object106 traverses over the map or photograph, associated portions of UIdisplay 108 can be resolved into clearer or more detailed depictions.Similarly, a element can be a thumbnail that, when magnified presents alarger scale view.

In addition, augmentation component 114 is not necessarily limited toapplication of a virtual magnifying glass, but can also provide othertypes of updates to UI display 108. For example, augmentation component114 can update the output of UI display 108 by affecting a change in acolor, a contrast, a brightness level, or some other Red-Green-Blue(RGB) attribute of one or a set of pixels included in UI display 108,typically pixels of one or more element associated with coordinate 112and therefore, by proxy, associated with position 104. As one example,consider again the situation in which example UI display 108 presents avirtual keyboard. As the operator's finger hovers over the surface, thekey that is substantially beneath the finger can change color or behighlighted to provide a visual cue to aid in selecting the desiredelement in spite of other difficulties described herein or otherwiseextant.

FIG. 3 depicts illustration 300 that exemplifies a virtual magnifyingglass that occludes neighboring elements. As with FIG. 2, example device202 includes UI display 108. In this case, with coordinate 112 againmapped approximately to the center of the element, portion 204 can nowbe redrawn and can be equal to area 206 in terms of size. Accordingly,when update 116 is applied, portion 204 is displayed at a differentscale, the display of which can occlude neighboring elements in UIdisplay 108. For example, the elements occluded can be those within areaof effect 206, as depicted.

It should be appreciated that although not expressly depicted, accordingto an aspect of the claimed subject matter, the elements in UI display108 excluded from portion 204 but within area of effect 206 of thevirtual magnifying glass (e.g., those elements described above asoccluded), can instead be updated to become semi-transparent in order toavoid total occlusion. Moreover, yet another implementation of thevirtual magnifying glass is provided in connection with FIG. 4.

Referring now to FIG. 4, illustration 400 that exemplifies a virtualmagnifying glass that facilitates crowding rather than occlusion isdepicted. Once more, example device 202 with UI display 108 is provided.In this case, update 116 provided by, e.g., augmentation component 114can (in addition to updating area of effect 206) also modify UI display108 in secondary area of effect 402. In particular, augmentationcomponent 114 can decrease the magnification scale for otherwiseoccluded neighboring elements, and can display such elements withinsecondary area of effect 402 in a crowded fashion. In other words, so asnot to occlude the neighboring elements, those elements as well aselements slightly beyond area of effect 206 can be effectively reducedin size and/or crowded together to fit, whereas the remainder of UIdisplay 108 can remain unaffected.

With reference now to FIG. 5, system 500 that can selectively triggerthe monitoring or the updating is illustrated. Generally, system 500 caninclude tracking component 102 that can monitor position 104 relative toUI display 108; and augmentation component 114 that can update UIdisplay 108 according to position 104, both as substantially describedsupra. In addition, system 500 can also include activation component 502that can initiate at least one of the monitoring associated withtracking component 102 or the updating of UI display 108 associated withaugmentation component 114.

For example, activation component 502 can generate and transmitinitiation message 504 to one or both tracking component 102 oraugmentation component 114. Initiation message 504 can thus trigger oneor both the monitoring of position 104 or the updating of UI display 104that is based upon position 104. Similarly, in an aspect of thedisclosed subject matter, activation component 502 can also sendtermination message 506 that can terminate operation of the monitoringand/or updating. Accordingly, while various features have been describedherein relating to modifying portions of the display based upon position104 of selector object 106, it should be appreciated that such featurescan be selectively activated and/or deactivated when not needed ordesired.

In an aspect, activation component 502 can initiate (or terminate) themonitoring by tracking component 102 or the updating by augmentationcomponent 114 based upon various criteria or parameters, some or all ofwhich can be provided by input 508. For example, initiation message 504(or termination message 506) can be provided based upon a state of adevice associated with UI display 108. An illustration of this can beentering into (or exiting) a keyboard mode for the device. Thus,activation component 502 can obtain data relating to this state by wayof input 502. As another example, messages 504 or 506 can be providedbased upon an application instantiated by a device associate with UIdisplay 108. For instance, calling/closing a photo album application canactivate/terminate the monitoring and/or updating, when, e.g., input 502indicating the particular application was instantiated or closed isreceived.

Of course, numerous other examples can exist. Activation component 502can provide the suitable message based upon a number of graphicalelements included in UI display 108 such as when UI display 108 isdisplaying a large list or a large number of files, folders, or icons.As another example, messages 504, 506 can be provided based upon amagnification scale of the graphical elements included in UI display108. For example, when elements are displayed at relatively smallscales, such can be a criteria (received or otherwise determined orobtained as input 502) for activating the claimed features; or, likewisewhen the elements are displayed at a more normal scale or one that isdetermined or inferred to be easily distinguishable, then the updatingcan be terminated as magnification or other features can be less usefulin those cases.

As yet another example, activation component 502 can initiate themonitoring or the updating based upon a complexity of one or moregraphical elements. For instance, display of a highly complex elementsuch as an image of a map or a photograph can prompt message 504. Inother cases, message 504 can be intelligently generated when arelatively large number of correction-based or undo-based device inputs(e.g., backspace, delete . . . ) are detected. It should be furtherappreciated that settings related to triggering the monitoring orupdating can be defined by operator preferences. Moreover, it should befurther understood that monitoring position 104 of selector object 106(e.g., by tracking component 102) can be active, even while updates thatwould otherwise be performed by augmentation component 114 is notactive. Hence, tracking component 106 can detect the presence andtrajectory of an operator's finger when it is suitably proximal to UIdisplay 108, even though no augmentations to the output are provided.Accordingly, a predefined gesture by selector object 106 (e.g., movingone's finger in a particular pattern), can instantiate the updatingaspects, while another gesture or pattern can be utilized to turn the UIupdating off.

Turning now to FIG. 6, system 600 that can provide a pseudo-touch screenis depicted. Typically, system 600 can include tracking component 102,augmentation component 114, and activation component 502 assubstantially described supra. However, in addition to what has beendescribed, tracking component 102 can further utilize a distanceparameter to effectuate pseudo-surface 602 at distance 604 from asurface of UI display 108. For example, pseudo-surface 602 can representa plane that is substantially parallel to and bounded to some degree inshape and size to that of UI display 108, but some distance 604 awayfrom UI display 108. When selector object 106 breaks a plane associatedwith pseudo-surface 602, such activity can simulate contact with UIdisplay 108. In other words, actual physical contact with UI display 108can be simulated without touching or otherwise making contact with UIdisplay 108.

Appreciably, the features detailed supra can incorporate variousgestures. For instance an abrupt downward motion by selector object 106can indicate a keystroke or selection for a touch screen, even withoutactually touching the screen. Such can be beneficial in a number ofways. For example, the surface of a touch-screen as well as associatedsensors can be protected from damage or wear. Additionally, the surfaceof a touch-screen need not be exposed to fingerprints or other soilingthat commonly results from use. As another advantage, it is alsopossible to simulate a touch-screen display, even when the requisitehardware is not entirely available. Hence, a common display can be madeto emulate a touch-screen display in some cases by monitoring thebehavior of selector object 106.

It is understood that one potentially important aspect of any given UIcan be operator feedback, which can often indicate or reinforce theoccurrence of certain I/O transactions. For example, in the case of aconventional keyboard, an operator receives both tactile and audiofeedback when keys are pressed. While an operator might not beconsciously aware of such feedback during use, operators tend to noticewhen that same feedback is lacking. Similarly, for touch-screen inputs,the operator receives tactile feedback when contact with thetouch-screen is made, which verifies to the operator that the intendedtransaction (e.g., touching the screen at the intended location) hasoccurred. However, given that pseudo-surface 602 typically will notinclude a physical surface capable of imparting tactile feedback, otherforms or types of feedback can be provided instead. In accordancetherewith, tracking component 102 can facilitate feedback when selectorobject 106 breaks the plane associated with pseudo-surface 602 by way ofa signal 606. For instance, when the plane is broken or a commandgesture is detected, feedback signal 606 can be transmitted to asuitable I/O component of a UI to provide, e.g., an auditory “click” todenote a key-press, or some other suitable feedback. As another example,visual feedback can be provided as well, such as a visual “click,” aflash, highlighting features and so forth.

In addition, system 600 can also include intelligence component 608 thatcan provide for or aid in various inferences or determinations. It is tobe appreciated that intelligence component 608 can be operativelycoupled to all or some of the aforementioned components, e.g., 102, 114,and 502. Additionally or alternatively, all or portions of intelligencecomponent 608 can be included in one or more components describedherein. Moreover, intelligence component 608 will typically have accessto all or portions of data sets described herein, such as access to datastore 118, and can furthermore utilize previously determined or inferreddata.

For example, intelligence component 608 can aid tracking component 102by intelligently determining or inferring distance 602. As an example,machine learning techniques can be employed to analyze aspects ofposition 104 to establish a normal or comfortable hover distance for aparticular operator during I/O transactions. Based upon thisoperator-specific hover distance, distance 604 can be set, generallyslightly less than the hover distance to register “clicks” when thepseudo-surface plane is broken. Likewise, intelligence component 608 canaid augmentation component 114 in intelligently determining or inferringwhat type of update to be employed. For instance, suppose a virtualkeyboard application is instantiated. Initially, the update can relateto highlighting the keys based upon position 104 in order to provide avisual aid in key selection. However, if a number of errors are made orthat the size of the keys are below a certain threshold, thenaugmentation component 114 can employ or switch to the virtualmagnifying glass. Additionally, the activation or termination of theupdates to UI display 108 described herein in connection with activationcomponent 502 can be facilitated or assisted by intelligence component608.

Accordingly, in order to provide for or aid in the numerous inferencesdescribed herein, intelligence component 608 can examine the entirety ora subset of the data available and can provide for reasoning about orinfer states of the system, environment, and/or user from a set ofobservations as captured via events and/or data. Inference can beemployed to identify a specific context or action, or can generate aprobability distribution over states, for example. The inference can beprobabilistic—that is, the computation of a probability distributionover states of interest based on a consideration of data and events.Inference can also refer to techniques employed for composinghigher-level events from a set of events and/or data.

Such inference can result in the construction of new events or actionsfrom a set of observed events and/or stored event data, whether or notthe events are correlated in close temporal proximity, and whether theevents and data come from one or several event and data sources. Variousclassification (explicitly and/or implicitly trained) schemes and/orsystems (e.g., support vector machines, neural networks, expert systems,Bayesian belief networks, fuzzy logic, data fusion engines . . . ) canbe employed in connection with performing automatic and/or inferredaction in connection with the claimed subject matter.

A classifier can be a function that maps an input attribute vector,x=(x1, x2, x3, x4, xn), to a confidence that the input belongs to aclass, that is, f(x)=confidence(class). Such classification can employ aprobabilistic and/or statistical-based analysis (e.g., factoring intothe analysis utilities and costs) to prognose or infer an action that auser desires to be automatically performed. A support vector machine(SVM) is an example of a classifier that can be employed. The SVMoperates by finding a hypersurface in the space of possible inputs,where the hypersurface attempts to split the triggering criteria fromthe non-triggering events. Intuitively, this makes the classificationcorrect for testing data that is near, but not identical to trainingdata. Other directed and undirected model classification approachesinclude, e.g., naïve Bayes, Bayesian networks, decision trees, neuralnetworks, fuzzy logic models, and probabilistic classification modelsproviding different patterns of independence can be employed.Classification as used herein also is inclusive of statisticalregression that is utilized to develop models of priority.

FIGS. 7, 8, and 9 illustrate various methodologies in accordance withthe claimed subject matter. While, for purposes of simplicity ofexplanation, the methodologies are shown and described as a series ofacts, it is to be understood and appreciated that the claimed subjectmatter is not limited by the order of acts, as some acts may occur indifferent orders and/or concurrently with other acts from that shown anddescribed herein. For example, those skilled in the art will understandand appreciate that a methodology could alternatively be represented asa series of interrelated states or events, such as in a state diagram.Moreover, not all illustrated acts may be required to implement amethodology in accordance with the claimed subject matter. Additionally,it should be further appreciated that the methodologies disclosedhereinafter and throughout this specification are capable of beingstored on an article of manufacture to facilitate transporting andtransferring such methodologies to computers. The term article ofmanufacture, as used herein, is intended to encompass a computer programaccessible from any computer-readable device, carrier, or media.

Turning now to FIG. 7, exemplary method 700 for enhancing or simplifyingtactile-related I/O for a UI with a limited form factor is illustrated.Generally, at reference numeral 702, a position of a selector objecthovering over a UI display can be tracked. The position can be definedas a salient portion of the selector object and/or the nearest portionof the selector object to the UI display. In addition, the position canbe sampled over time in order to determine motion or a trajectory of theselector object. Hence, gestures or other motions can be identified. Itshould be understood that the selector object can be an appendage of anoperator interacting with the UI display, such as a finger or thumb, andcan also be a stylus or pointer.

Next to be described, at reference numeral 704, the position can beassociated with a coordinate of the UI display. Typically, thecoordinate will represent a point or pixel on the UI display that issubstantially below the selector object. In other words, the coordinatecan be substantially along a line adjoining a surface of the UI displayto the selector object, wherein the line is perpendicular to the surfaceof the UI display. At reference numeral 706, an augmented output for theUI display can be provided in an area of effect that is substantiallycentered at the coordinate. Thus, the UI display can be modified orupdated locally based upon the position of an operator's finger (e.g.,selector object) hovering over the UI display.

With reference now FIG. 8, exemplary method 800 for implementing avirtual magnifying glass is provided. In accordance therewith, atreference numeral 802, a virtual magnifying glass that increases themagnification scale of a magnified area of the UI display can beimplemented for the augmented output detailed at reference numeral 706.Thus, the magnified area around the coordinate can be expanded to fitthe area of effect in order to effectuate the magnification.

At reference numeral 804, a size of the area of effect can be adjustedbased upon a hover distance representing a distance between the surfaceand the selector object. Thus, by modifying the distance between theselector object and the UI display, the level of magnification as wellas the size of the magnified area can be adjusted. It should beappreciated that the virtual magnifying glass can be effectuatedaccording to a variety of distinct schemes. For example, at referencenumeral 806, elements of the UI display that are included within thearea of effect but not included within the magnified area can beoccluded. In other words, the magnified area occludes nearby features ofthe UI display to allow the magnified area to be displayed at a greatermagnification scale.

At reference numeral 808, these nearby features can avoid totalocclusion. For instance, elements of the UI display that are includedwithin the area of effect but not included within the magnified area canbe displayed in a semi-transparent manner. Thus, rather than totalocclusion for neighboring elements, these elements can be visible byadjusting the transparency. As a third example, at reference numeral810, a crowding effect can be utilized for displaying elements of the UIdisplay that are included within a second, larger area of effect but notincluded within the magnified area. Accordingly, these elements can bedistorted to a degree in either size or shape to allow for the updatedmagnification scale for one portion of the UI display, while stilldepicting all elements without strict occlusion.

Turning now to FIG. 9, exemplary method 900 for providing additionalfeatures associated with enhancing or simplifying I/O for a limited formfactor UI is depicted. At reference numeral 902, a change can beaffected in at least one of a color, a contrast, a brightness, or a RGBattribute of one or more pixels included in the area of effect. Inparticular, updates to the UI display are not necessarily limited toadjusting the magnification scale of a portion of the display, but otherupdates can be facilitated, such as highlighting a particular pixel ofgroup of pixels for instance.

At reference numeral 904, an activation message can be employed forinitiating or terminating activity associated with providing theaugmented output. For example, as described at reference numeral 706, anaugmented output for the UI display can be facilitated in a particulararea of effect. However, when these augmented outputs occur can beselectively determined, essentially allowing the augmented output to beswitched on or off. For instance, the virtual magnifying glass can beactivated when a keyboard application is instantiated, and terminatedwhen the keyboard application is closed.

At reference numeral 906, the activation message can be generated basedupon a state of, or application instantiated by, a device associatedwith the UI display. In an aspect, the activation message can also begenerated based upon a number of, a graphical complexity of, or amagnification scale for, graphical elements included in the UI display.Likewise, the activation message can be generated based upon a number ofcorrection-based or undo-based inputs. The activation message can alsobe generated based upon preferences or settings associated with the UIdisplay, or, in some cases, based upon a predefined gesture executed bythe selector object.

In addition, at reference numeral 908, a pseudo-surface can be createdat a specified distance from the surface. The pseudo-surface can beemployed for simulating a touch-sensitive UI display in a non-contactmanner. For example, a touch-screen can be utilized in a contactlessmanner to reduce wear, maintenance, and/or fingerprints or other soilingto the touch-screen. Moreover, it is also possible to simulate atouch-screen in this manner even though the underlying UI display doesnot include touch or tactile-based components. At reference numeral 910,feedback such as auditory feedback can be provided for signaling atactile (e.g., touch) or tactile-based input (e.g., including gestures)in connection with the pseudo-surface.

Referring now to FIG. 10, there is illustrated a block diagram of anexemplary computer system operable to execute the disclosedarchitecture. In order to provide additional context for various aspectsof the claimed subject matter, FIG. 10 and the following discussion areintended to provide a brief, general description of a suitable computingenvironment 1000 in which the various aspects of the claimed subjectmatter can be implemented. Additionally, while the claimed subjectmatter described above may be suitable for application in the generalcontext of computer-executable instructions that may run on one or morecomputers, those skilled in the art will recognize that the claimedsubject matter also can be implemented in combination with other programmodules and/or as a combination of hardware and software.

Generally, program modules include routines, programs, components, datastructures, etc., that perform particular tasks or implement particularabstract data types. Moreover, those skilled in the art will appreciatethat the inventive methods can be practiced with other computer systemconfigurations, including single-processor or multiprocessor computersystems, minicomputers, mainframe computers, as well as personalcomputers, hand-held computing devices, microprocessor-based orprogrammable consumer electronics, and the like, each of which can beoperatively coupled to one or more associated devices.

The illustrated aspects of the claimed subject matter may also bepracticed in distributed computing environments where certain tasks areperformed by remote processing devices that are linked through acommunications network. In a distributed computing environment, programmodules can be located in both local and remote memory storage devices.

A computer typically includes a variety of computer-readable media.Computer-readable media can be any available media that can be accessedby the computer and includes both volatile and nonvolatile media,removable and non-removable media. By way of example, and notlimitation, computer-readable media can comprise computer storage mediaand communication media. Computer storage media can include bothvolatile and nonvolatile, removable and non-removable media implementedin any method or technology for storage of information such ascomputer-readable instructions, data structures, program modules orother data. Computer storage media includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CD-ROM, digitalversatile disk (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other medium which can be used to store the desired informationand which can be accessed by the computer.

Communication media typically embodies computer-readable instructions,data structures, program modules or other data in a modulated datasignal such as a carrier wave or other transport mechanism, and includesany information delivery media. The term “modulated data signal” means asignal that has one or more of its characteristics set or changed insuch a manner as to encode information in the signal. By way of example,and not limitation, communication media includes wired media such as awired network or direct-wired connection, and wireless media such asacoustic, RF, infrared and other wireless media. Combinations of the anyof the above should also be included within the scope ofcomputer-readable media.

Continuing to reference FIG. 10, the exemplary environment 1000 forimplementing various aspects of the claimed subject matter includes acomputer 1002, the computer 1002 including a processing unit 1004, asystem memory 1006 and a system bus 1008. The system bus 1008 couples tosystem components including, but not limited to, the system memory 1006to the processing unit 1004. The processing unit 1004 can be any ofvarious commercially available processors. Dual microprocessors andother multi-processor architectures may also be employed as theprocessing unit 1004.

The system bus 1008 can be any of several types of bus structure thatmay further interconnect to a memory bus (with or without a memorycontroller), a peripheral bus, and a local bus using any of a variety ofcommercially available bus architectures. The system memory 1006includes read-only memory (ROM) 1010 and random access memory (RAM)1012. A basic input/output system (BIOS) is stored in a non-volatilememory 1010 such as ROM, EPROM, EEPROM, which BIOS contains the basicroutines that help to transfer information between elements within thecomputer 1002, such as during start-up. The RAM 1012 can also include ahigh-speed RAM such as static RAM for caching data.

The computer 1002 further includes an internal hard disk drive (HDD)1014 (e.g., EIDE, SATA), which internal hard disk drive 1014 may also beconfigured for external use in a suitable chassis (not shown), amagnetic floppy disk drive (FDD) 1016, (e.g., to read from or write to aremovable diskette 1018) and an optical disk drive 1020, (e.g., readinga CD-ROM disk 1022 or, to read from or write to other high capacityoptical media such as the DVD). The hard disk drive 1014, magnetic diskdrive 1016 and optical disk drive 1020 can be connected to the systembus 1008 by a hard disk drive interface 1024, a magnetic disk driveinterface 1026 and an optical drive interface 1028, respectively. Theinterface 1024 for external drive implementations includes at least oneor both of Universal Serial Bus (USB) and IEEE1394 interfacetechnologies. Other external drive connection technologies are withincontemplation of the subject matter claimed herein.

The drives and their associated computer-readable media providenonvolatile storage of data, data structures, computer-executableinstructions, and so forth. For the computer 1002, the drives and mediaaccommodate the storage of any data in a suitable digital format.Although the description of computer-readable media above refers to aHDD, a removable magnetic diskette, and a removable optical media suchas a CD or DVD, it should be appreciated by those skilled in the artthat other types of media which are readable by a computer, such as zipdrives, magnetic cassettes, flash memory cards, cartridges, and thelike, may also be used in the exemplary operating environment, andfurther, that any such media may contain computer-executableinstructions for performing the methods of the claimed subject matter.

A number of program modules can be stored in the drives and RAM 1012,including an operating system 1030, one or more application programs1032, other program modules 1034 and program data 1036. All or portionsof the operating system, applications, modules, and/or data can also becached in the RAM 1012. It is appreciated that the claimed subjectmatter can be implemented with various commercially available operatingsystems or combinations of operating systems.

A user can enter commands and information into the computer 1002 throughone or more wired/wireless input devices, e.g., a keyboard 1038 and apointing device, such as a mouse 1040. Other input devices (not shown)may include a microphone, an IR remote control, a joystick, a game pad,a stylus pen, touch screen, or the like. These and other input devicesare often connected to the processing unit 1004 through an input deviceinterface 1042 that is coupled to the system bus 1008, but can beconnected by other interfaces, such as a parallel port, an IEEE1394serial port, a game port, a USB port, an IR interface, etc.

A monitor 1044 or other type of display device is also connected to thesystem bus 1008 via an interface, such as a video adapter 1046. Inaddition to the monitor 1044, a computer typically includes otherperipheral output devices (not shown), such as speakers, printers, etc.

The computer 1002 may operate in a networked environment using logicalconnections via wired and/or wireless communications to one or moreremote computers, such as a remote computer(s) 1048. The remotecomputer(s) 1048 can be a workstation, a server computer, a router, apersonal computer, portable computer, microprocessor-based entertainmentappliance, a peer device or other common network node, and typicallyincludes many or all of the elements described relative to the computer1002, although, for purposes of brevity, only a memory/storage device1050 is illustrated. The logical connections depicted includewired/wireless connectivity to a local area network (LAN) 1052 and/orlarger networks, e.g., a wide area network (WAN) 1054. Such LAN and WANnetworking environments are commonplace in offices and companies, andfacilitate enterprise-wide computer networks, such as intranets, all ofwhich may connect to a global communications network, e.g., theInternet.

When used in a LAN networking environment, the computer 1002 isconnected to the local network 1052 through a wired and/or wirelesscommunication network interface or adapter 1056. The adapter 1056 mayfacilitate wired or wireless communication to the LAN 1052, which mayalso include a wireless access point disposed thereon for communicatingwith the wireless adapter 1056.

When used in a WAN networking environment, the computer 1002 can includea modem 1058, or is connected to a communications server on the WAN1054, or has other means for establishing communications over the WAN1054, such as by way of the Internet. The modem 1058, which can beinternal or external and a wired or wireless device, is connected to thesystem bus 1008 via the serial port interface 1042. In a networkedenvironment, program modules depicted relative to the computer 1002, orportions thereof, can be stored in the remote memory/storage device1050. It will be appreciated that the network connections shown areexemplary and other means of establishing a communications link betweenthe computers can be used.

The computer 1002 is operable to communicate with any wireless devicesor entities operatively disposed in wireless communication, e.g., aprinter, scanner, desktop and/or portable computer, portable dataassistant, communications satellite, any piece of equipment or locationassociated with a wirelessly detectable tag (e.g., a kiosk, news stand,restroom), and telephone. This includes at least Wi-Fi and Bluetooth™wireless technologies. Thus, the communication can be a predefinedstructure as with a conventional network or simply an ad hoccommunication between at least two devices.

Wi-Fi, or Wireless Fidelity, allows connection to the Internet from acouch at home, a bed in a hotel room, or a conference room at work,without wires. Wi-Fi is a wireless technology similar to that used in acell phone that enables such devices, e.g., computers, to send andreceive data indoors and out; anywhere within the range of a basestation. Wi-Fi networks use radio technologies called IEEE802.11(a, b,g, n, etc.) to provide secure, reliable, fast wireless connectivity. AWi-Fi network can be used to connect computers to each other, to theInternet, and to wired networks (which use IEEE802.3 or Ethernet). Wi-Finetworks operate in the unlicensed 2.4 and 5 GHz radio bands, at an 11Mbps (802.11a) or 54 Mbps (802.11b) data rate, for example, or withproducts that contain both bands (dual band), so the networks canprovide real-world performance similar to the basic 10BaseT wiredEthernet networks used in many offices.

Referring now to FIG. 11, there is illustrated a schematic block diagramof an exemplary computer compilation system operable to execute thedisclosed architecture. The system 1100 includes one or more client(s)1102. The client(s) 1102 can be hardware and/or software (e.g., threads,processes, computing devices). The client(s) 1102 can house cookie(s)and/or associated contextual information by employing the claimedsubject matter, for example.

The system 1100 also includes one or more server(s) 1104. The server(s)1104 can also be hardware and/or software (e.g., threads, processes,computing devices). The servers 1104 can house threads to performtransformations by employing the claimed subject matter, for example.One possible communication between a client 1102 and a server 1104 canbe in the form of a data packet adapted to be transmitted between two ormore computer processes. The data packet may include a cookie and/orassociated contextual information, for example. The system 1100 includesa communication framework 1106 (e.g., a global communication networksuch as the Internet) that can be employed to facilitate communicationsbetween the client(s) 1102 and the server(s) 1104.

Communications can be facilitated via a wired (including optical fiber)and/or wireless technology. The client(s) 1102 are operatively connectedto one or more client data store(s) 1108 that can be employed to storeinformation local to the client(s) 1102 (e.g., cookie(s) and/orassociated contextual information). Similarly, the server(s) 1104 areoperatively connected to one or more server data store(s) 1110 that canbe employed to store information local to the servers 1104.

What has been described above includes examples of the variousembodiments. It is, of course, not possible to describe everyconceivable combination of components or methodologies for purposes ofdescribing the embodiments, but one of ordinary skill in the art mayrecognize that many further combinations and permutations are possible.Accordingly, the detailed description is intended to embrace all suchalterations, modifications, and variations that fall within the spiritand scope of the appended claims.

In particular and in regard to the various functions performed by theabove described components, devices, circuits, systems and the like, theterms (including a reference to a “means”) used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., a functional equivalent), even though not structurallyequivalent to the disclosed structure, which performs the function inthe herein illustrated exemplary aspects of the embodiments. In thisregard, it will also be recognized that the embodiments includes asystem as well as a computer-readable medium having computer-executableinstructions for performing the acts and/or events of the variousmethods.

In addition, while a particular feature may have been disclosed withrespect to only one of several implementations, such feature may becombined with one or more other features of the other implementations asmay be desired and advantageous for any given or particular application.Furthermore, to the extent that the terms “includes,” and “including”and variants thereof are used in either the detailed description or theclaims, these terms are intended to be inclusive in a manner similar tothe term “comprising.”

1. A system, comprising: a memory that stores computer-executableinstructions; and a processor, communicatively coupled to the memory,that facilitates execution of the computer-executable instructions to atleast: identify a predefined change to a state of a user interfacedisplay; and in response to the predefined change being identified,augment an output of the user interface display to at least: initiate atracking of a position of a selector object relative to a surfaceassociated with the user interface display; and update a portion of theoutput of the user interface display that corresponds to the position ofthe selector object.
 2. The system of claim 1, wherein the predefinedchange relates to a change in a presentation by the user interfacedisplay of at least a predetermined number of graphical elements.
 3. Thesystem of claim 1, wherein the predefined change relates to a change ina presentation by the user interface display of graphical elements thatexceed a predetermined magnification scale.
 4. The system of claim 1,wherein the predefined change relates to a change in a presentation bythe user interface display of graphical elements that exceed apredefined level of complexity.
 5. The system of claim 1, wherein thepredefined change relates to a number of corrections made to contentpresented by the user interface display or a number of the correctionsthat have been undone exceeding a predetermined number.
 6. The system ofclaim 1, wherein the predefined change relates to a predefined gestureassociated with the selector object.
 7. The system of claim 1, whereinthe portion of the output of the user interface display is biased towarda central location of a graphical element presented by the userinterface display.
 8. The system of claim 1, wherein the update of theportion of the output of the user interface display includes affecting achange in a red-green-blue attribute of at least one pixel included inthe portion.
 9. The system of claim 1, wherein the update of the portionof the output includes a change to a magnification scale of the portion.10. A method, comprising: identifying, by a system including aprocessor, a predefined change to a state of a user interface display inresponse to monitoring the state of the user interface display; andmodifying, by the system, the state of the user interface display inresponse to the predefined change being identified, wherein themodifying includes at least: tracking, by the system, a position of aselector object relative to a surface associated with the user interfacedisplay; and modifying, by the system, a subset of a presentation of theuser interface display, the subset determined by the position of theselector object.
 11. The method of claim 10, wherein the identifying thepredefined change includes determining that a number of graphicalelements presented by the user interface display exceeds a predeterminedthreshold.
 12. The method of claim 10, wherein the identifying thepredefined change includes determining that a magnification scale ofgraphical elements presented by the user interface display satisfies acondition with respect to a predefined magnification scale.
 13. Themethod of claim 10, wherein the identifying the predefined changeincludes determining that a complexity of graphical elements presentedby the user interface display determined according to a predefinedcomplexity function with respect to the graphical elements satisfies acondition with respect to a predefined complexity.
 14. The method ofclaim 10, wherein the identifying the predefined change includesdetermining that a number of corrections-based changes to thepresentation within a predetermined period of time satisfies a conditionwith respect to a predetermined threshold.
 15. The method of claim 10,wherein the identifying the predefined change includes determining thata gesture associated with the selector object in connection with theuser interface display maps to a predefined gesture.
 16. The method ofclaim 10, wherein the modifying the subset of the presentation includesre-positioning the subset toward a predefined central location of agraphical element presented by the user interface display.
 17. Themethod of claim 10, wherein the modifying the subset of the presentationincludes changing a color attribute of at least one pixel included inthe subset.
 18. The method of claim 10, wherein the modifying the subsetof the presentation includes changing a magnification scale for thesubset.
 19. A non-transitory computer-readable storage medium comprisingcomputer-executable instructions that, in response to execution, cause asystem including a processor to perform operations, comprising:monitoring a state of a presentation of a display; identifying apredefined change to the state of a display in response to monitoring;initializing tracking of a position of a selector object relative to asurface of the display in response to the predefined change beingidentified; and altering a subset of the presentation of the display,the subset determined by the position of the selector object.
 20. Thenon-transitory computer-readable storage medium of claim 19, wherein thealtering the subset of the presentation includes updating a colorassociated with at least one pixel included in the subset.